home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / game / gomoku / adjust.bas next >
BASIC Source File  |  1993-11-30  |  3KB  |  68 lines

  1. 5 CLEAR,,,,,300*1024 : DEF FONT"システム   12ドット"
  2. 6 SCREEN 1,1 : SCREEN@ 0 : SCREEN 1,0
  3. 10 SCREEN@ 0 : COLOR 7,0,,4 : CLS
  4. 11 WINDOW(0,0)-(639,479) : VIEW(0,0)-(639,479)
  5. 12 PLAY"t255l48v12@77"
  6. 13 RANDOMIZE TIME
  7. 15 LINE(0,0)-(639,479),PSET,%6,BF
  8. 16 MXX=1 : MXY=1 : MNX=31 : MNY=23 : TX=16 : TY=12
  9. 17 DIM PST(32,24),PTS(32,24),TX(250),TY(250)
  10. 30 FOR J=0 TO 24 STEP 24 : FOR I=0 TO 32 : PST(I,J)=-2 : NEXT : NEXT
  11. 40 FOR I=0 TO 32 STEP 32 : FOR J=1 TO 23 : PST(I,J)=-2 : NEXT : NEXT
  12. 50 FOR I=20 TO 620 STEP 20 : LINE(I,20)-(I,460),PSET,0 : NEXT
  13. 60 FOR I=20 TO 460 STEP 20 : LINE(20,I)-(620,I),PSET,0 : NEXT
  14. 70 MOUSE 0 : MOUSE 1,TX*20,TY*20,1 : MOUSE 4,12,12,625,465
  15. 80 TX=(MOUSE(4,0)+10)\20 : TY=(MOUSE(5,0)+10)\20
  16. 90 IF MOUSE(2,0)=0 OR PST(TX,TY)<>0 THEN 80
  17. 100 CIRCLE(TX*20,TY*20),10,7 : PST(TX,TY)=-1 : PLAY"o3a"
  18. 105 MOUSE 5 : SCREEN 1,1 : CLS : SCREEN 1,0
  19. 110 GOSUB 500
  20. 160 '
  21. 170 A=-1 : GOSUB 1000
  22. 180 TAX=0 : MAX=0 : TX=1 : TY=1 : SEL=0
  23. 190 FOR YY=MNY TO MXY : FOR XX=MNX TO MXX
  24. 200 IF PTS(XX,YY)>TAX THEN SEL=0 : TAX=PTS(XX,YY) : TX(SEL)=XX : TY(SEL)=YY
  25. 205 IF PTS(XX,YY)=TAX THEN SEL=SEL+1 : TX(SEL)=XX : TY(SEL)=YY
  26. 210 PTS(XX,YY)=0 : NEXT : NEXT : SEL=INT(RND*(SEL+1)) : TX=TX(SEL) : TY=TY(SEL)
  27. 220 SCREEN 1,1 : SYMBOL(0,0),"防御指数 :"+STR$(TAX),.75!,.75!,4 : SCREEN 1,0 : IF TAX>=5 THEN 300
  28. 230 A=1 : GOSUB 1000
  29. 240 MX=1 : MY=1
  30. 250 FOR YY=MNY TO MXY : FOR XX=MNX TO MXX
  31. 260 IF PTS(XX,YY)>=MAX THEN MAX=PTS(XX,YY) : MX=XX : MY=YY
  32. 270 PTS(XX,YY)=0 : NEXT : NEXT
  33. 280 SCREEN 1,1 : SYMBOL(200,0),"攻撃指数 :"+STR$(MAX),.75!,.75!,6 : SCREEN 1,0 : IF MAX>.5!+RND*4 THEN TX=MX : TY=MY
  34. 290 IF MAX>5 THEN 2000
  35. 300 CIRCLE(TX*20,TY*20),10,0 : PST(TX,TY)=1 : PLAY"o4a"
  36. 310 GOSUB 500 : GOTO 70
  37. 490 '
  38. 500 IF TX>MXX-2 THEN MXX=TX+2 : IF MXX>31 THEN MXX=31
  39. 510 IF TY>MXY-2 THEN MXY=TY+2 : IF MXY>23 THEN MXY=23
  40. 520 IF TX<MNX+2 THEN MNX=TX-2 : IF MNX<1 THEN MNX=1
  41. 530 IF TY<MNY+2 THEN MNY=TY-2 : IF MNY<1 THEN MNY=1
  42. 540 RETURN
  43. 990 '
  44. 1000 FOR YY=MNY TO MXY : FOR XX=MNX TO MXX
  45. 1020 IF PST(XX,YY)<>A THEN 1130
  46. 1030 H=1
  47. 1040 T=1 : P=1 : DX=(H>1) : DY=H-3-(H=1)
  48. 1050 X=XX : Y=YY
  49. 1060 X=X+DX : Y=Y+DY
  50. 1070 IF PST(X,Y)=A THEN T=T+1 : P=P+1 : GOTO 1060 ELSE IF PST(X,Y)=0 THEN PTS(X,Y)=PTS(X,Y)+P : P=1 ELSE P=0
  51. 1080 X2=XX : Y2=YY
  52. 1090 X2=X2-DX : Y2=Y2-DY
  53. 1100 IF PST(X2,Y2)=A THEN T=T+1 : P=P+1 : GOTO 1090 ELSE IF PST(X2,Y2)=0 THEN PTS(X2,Y2)=PTS(X2,Y2)+P ELSE PTS(X,Y)=PTS(X,Y)-1
  54. 1110 IF T=5 THEN 2000
  55. 1120 H=H+1 : IF H<5 THEN 1040
  56. 1130 NEXT : NEXT
  57. 1132 SCREEN 1,1 : FOR YY=MNY TO MXY : FOR XX=MNX TO MXX : SYMBOL(XX*20+A*3-6,YY*20-4),STR$(PTS(XX,YY)),.55!,.55!,5+A : NEXT : NEXT : SCREEN 1,0 : RETURN
  58. 1990 '
  59. 2000 MOUSE 0 : I=0
  60. 2010 IF A=-1 THEN 2200
  61. 2020 SYMBOL(20,20),"う-む、やはり勝ってしまった。",2.25!,2.25!,7,,,4 : A=3
  62. 2022 CIRCLE(TX*20,TY*20),10,4+A
  63. 2025 IF MOUSE(2,0) THEN 2210 ELSE IF I=500 THEN A=-A : I=0 : GOTO 2022
  64. 2026 I=I+1 : GOTO 2025
  65. 2200 SYMBOL(20,20),"なんと、負けてしまった。",2.25!,2.25!,7,,,4
  66. 2205 IF MOUSE(2,0)=0 THEN 2205
  67. 2210 MOUSE 5 :ERASE PTS,PST,TX,TY: GOTO 15
  68.